home *** CD-ROM | disk | FTP | other *** search
/ Commodore Free 21 / Commodore_Free_Issue_21_2008_Commodore_Computer_Club.d64 / t.iv antonio < prev    next >
Text File  |  2023-02-26  |  8KB  |  285 lines

  1. u
  2. Interview with Commodore programmer
  3. Antonino Porcino, author of Gomoku
  4. http://xoomer.alice.it/aporcino/Vic20/
  5.  
  6. Commodore Free:
  7. Please introduce yourself to our reader
  8.  
  9. Antonino Porcino
  10. Hello, I'm Antonino Porcino, the
  11. author of Gomoku and some other VIC-20
  12. games. I'm 36 and live in Italy,
  13. working as a computer programmer.
  14.  
  15. CF: When did you first come into
  16. contact with Commodore machines
  17.  
  18. AP: It was back in 1984 after I
  19. managed to persuade my parents to buy
  20. me a VIC-20. I really didn't know what
  21. could be done with a computer, I
  22. figured out that it was possible to
  23. play some form of games as in video
  24. game consoles, and that was enough for
  25. me to start craving for a VIC. I was
  26. twelve.
  27.  
  28. CF: Was the Vic your first machine and
  29. do you own other Commodore machines
  30.  
  31. AP: It was my first computer and I
  32. simply loved it, spending most of my
  33. free time experimenting with it. I
  34. later owned a Plus4, a C=64, and of
  35. course an Amiga. But I lost my
  36. machines along the years so I had to
  37. buy back the VIC on ebay. And a friend
  38. gave me his C=64.
  39.  
  40. CF: Do you think there is still life
  41. in the Vic 20
  42.  
  43. AP: Yes, there is a small but very
  44. active community that rotates around
  45. the "Denial" website run by Jeff
  46. Daniels. In mid of 2008 we already
  47. have 7 titles released for the VIC.
  48. The community provides an ideal
  49. environment where you can discuss
  50. technical subjects and share your
  51. experiences. It also help to keep the
  52. interest alive.
  53.  
  54. CF: Do you think there are features of
  55. the machine still untapped by
  56. programmers
  57.  
  58. AP:  Not really, the VIC-20 is a
  59. relatively simple machine, and that's
  60. why I love it, in the sense that you
  61. can expect to "master it" if you put
  62. in enough effort.The same thing for
  63. example can't be said for a PC where
  64. everything is so unnecessary complex
  65. and certain parts of its architecture
  66. are secreted.
  67.  
  68. CF: Can you tell our readers about
  69. Go-Moku what it is and briefly how to
  70. play
  71.  
  72. AP: Gomoku is the classical 'X' and
  73. 'O' game where you have to connect
  74. five Dots before your opponent does
  75. the same. Can be played also with "pen
  76. and paper" and for this reason is
  77. widespread known around the world
  78. (usually under different names). It
  79. has simple rules but a very complex
  80. playing strategy. Mathematicians say
  81. that Gomoku is a "closed game" in the
  82. sense that who  moves first can always
  83. close the match with a win (like in
  84. tic-tac-toe), but this is true only in
  85. theory because of the exponentially
  86. high number  of possible moves. So
  87. there isn't a "perfect" play, and
  88. computer players have to use some kind
  89. of strategy. The one adopted in my
  90. program is basically to look for some
  91. particular board configurations and
  92. play accordingly.
  93.  
  94. CF: You ported the game to the c64 and
  95. plus4/16 machines where there any
  96. problems with the conversion.
  97.  
  98. AP:  I wrote the program with the idea
  99. of portability from the start, so I
  100. didn't use any specialmachine-
  101. dependant effect. I limited myself to
  102. definable character graphics and to
  103. standard calls  to the ROM kernal.
  104. After the VIC-20 version was ready, I
  105. converted the it for the C=64 because
  106. of the similarity with the VIC (most
  107. ROM and zero page is the same).
  108. The only work was to adapt it to 40
  109. columns, and indeed I faced the
  110. problem that my routines in the 64
  111. version exceded the 256 bytes indexing
  112. Capabilities of the 6502.
  113.  
  114. So I downgraded them to a slower
  115. version that worked for both machines.
  116. The C16/Plus4 version came later, and
  117. was relatively  easy to do because all
  118. the 40 columns work was already done
  119. for the C64. I had only a trouble from
  120. of a bug that didn't show on the VICE
  121. emulator but that appeared on the real
  122. machine.
  123.  
  124. CF: How much memory does the game use,
  125. did you think it may not fit into an
  126. unexpanded machine
  127.  
  128. AP:  Working with the VIC20 taught me
  129. how to save bytes. For example my
  130. Go-Moku program does its calculations
  131. directly in the screen memory,
  132. re-using the "free cells" of the board
  133. instead of having a separate memory
  134. area dedicated for calculations. In
  135. the download page of the game I show a
  136. POKE command that makes visible the
  137. calculations that are being done  in
  138. the free cells. It's nice to see.
  139.  
  140. CF: other games on your website are
  141. Tetris / Pong and Return To Fort Knox
  142. can you tell our readers a little
  143. about these games
  144.  
  145. AP:  "Tetris" was the program that
  146. made me acquaint again with the VIC-20
  147. and 8 bit programming after twenty
  148. years. There was no such game for the
  149. VIC so I decided to write an
  150. implementation.
  151.  
  152. "Pong" is a joined effort together
  153. with another VIC-20 enthusiast and
  154. countryman "Nbla000", aimed at
  155. reproducing the exact Pong hardware
  156. game.
  157.  
  158. "Return to Fort Knox" is a total
  159. different story. One day I started to
  160. disassemble the Commodore cartridge
  161. "Raid On Fort Knox", doing an
  162. intensive reverse-enginering work
  163. lasted one entire weekend. At the end
  164. I came up with the complete game
  165. source code, so it was natural for me
  166. to extend it, adding new levels and a
  167. small different game play--but still
  168. maintaining the original look and
  169. feel. I like to think that this sequel
  170. is a tribute to the original game,
  171. being it the first I ever played on my
  172. VIC.
  173.  
  174. CF: Do you intend porting these games
  175. to the c64 plus4/16 machines
  176.  
  177. AP:  Well, maybe "Return to fort
  178. knox", but not Tetris or Pong as there
  179. are already good implementations of
  180. these games. I prefer to dedicate my
  181. time to something that hasn't been
  182. ported yet.
  183.  
  184. CF: Are the any projects you are
  185. working on at the moment
  186.  
  187. AP: Nothing at the moment, I'm looking
  188. for inspiration.
  189.  
  190. CF: Is there anything our readers can
  191. do to help with the games
  192.  
  193. AP: Not at the moment
  194.  
  195. CF: How do you programme do you use
  196. cross platform tools or purely on the
  197. VIC
  198.  
  199. AP:  I cross develop on the PC, test
  200. on the emulator and then on the real
  201. hardware when finished. I program in
  202. machine language, but in a different
  203. way than the traditional one. I use a
  204. macro language of my invention that
  205. allows me to write an highly
  206. structured assembler  code. For
  207. example I can put a FOR-NEXT or nested
  208. IF-THEN-ELSE in the code and have
  209. these statements properly translated
  210. into machine  language. This frees me
  211. completely from labels and from the
  212. "branch-here"  "branch-there" style of
  213. programming. The resulted code is very
  214. compact, looking like a  middle-way
  215. between visual-basic and machine
  216. language.
  217.  
  218. CF: Why use cross platform tools is it
  219. purely speed of development
  220.  
  221. AP: Not only. With the macro language
  222. tool that I've created I can work at
  223. big projects, while I can write only
  224. small useless routines on the real
  225. machine without cross compilers.
  226.  
  227. CF: Have you considered programming
  228. purely on the VIC with no other tools
  229. other than software available on the
  230. machine
  231.  
  232. AP: No, I don't consider it as an
  233. option, especially as it regards BASIC
  234. programming. It's no longer attractive
  235. to me, although in the days I was a
  236. very active BASIC programmer.
  237.  
  238. CF: 3k of memory was an incredibly
  239. small amount of of memory do you think
  240. this limited the machine
  241.  
  242. AP: Yes of course, but that was
  243. balanced by programmers who became
  244. more creative!
  245.  
  246. CF: If you could change 3 things on the
  247. VIC20 what would you change and why
  248.  
  249. AP: Oh well, this is something I
  250. daydream a lot about. If I was Jack
  251. Tramiel at the time, I would have
  252. increased the screen size because it's
  253. too limiting to have a 22x23 screen,
  254. expecially when editing BASIC
  255. programs. I would have also included
  256. some 16 bit operation (like INC or
  257. ADD) in the CPU, perhaps dropping the
  258. totally useless BCD mode. And, what
  259. about having a better ROM kernal with
  260. more built-in commonly used  routines.
  261. For example joystick reading, or some
  262. form of graphic sprites. I believe
  263. awell written ROM kernal could have
  264. balanced the small memory issue of
  265. the VIC-20.
  266.  
  267. CF: What motivated you to write
  268. software for 8bit Commodore machines
  269.  
  270. AP:  Having explored the world of
  271. computer programming in almost every
  272. aspect I felt the need to return back
  273. to my roots to the point where this
  274. long journey started. It's like a
  275. circle that closes itself.
  276.  
  277. CF: Do you have any further comments
  278. you would like to add ?
  279.  
  280. AP:  Thank you for the interview and I
  281. hope I have raised the interest of
  282. your readers. Good BYTE!
  283.  
  284.  
  285.